import fs from 'node:fs'

// 导出一个名为 readJSONFile 的函数，用于读取并解析 JSON 文件
export function readJSONFile(filePath: fs.PathOrFileDescriptor) {
  try {
    // 使用 fs 模块的 readFileSync 方法同步读取文件内容，编码为 'utf-8'
    const rawData = fs.readFileSync(filePath, 'utf-8')
    // 将读取到的原始数据字符串解析为 JSON 对象并返回
    return JSON.parse(rawData) || {}
  }
  catch (err) {
    return {}
  }
}

// 导出一个名为 writeJSONFile 的函数，用于将数据写入 JSON 文件
export function writeJSONFile(filePath: fs.PathOrFileDescriptor, data: { [x: string]: string }) {
  fs.writeFileSync(
    filePath,
    JSON.stringify(data, null, 2), // 格式化为 2 空格缩进
    'utf-8'
  )
}
